home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr49 / rzsz0593.zip / SZ.DOC < prev    next >
Text File  |  1993-05-02  |  19KB  |  463 lines

  1.  
  2.  
  3.  
  4.      SSSSZZZZ((((1111))))        OOOOmmmmeeeennnn TTTTeeeecccchhhhnnnnoooollllooooggggyyyy    IIIINNNNCCCC ((((OOOOMMMMEEEENNNN))))         SSSSZZZZ((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       sx, sb, sz - Send Files with ZMODEM, YMODEM, or XMODEM
  10.       zcommand, zcommandi -    Send COmmands with ZMODEM
  11.  
  12.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.       sz [-++++aaaabbbbddddeeeeffffkkkkLLLLllllNNNNnnnnooooppppttttuuuuvvvvyyyyYYYYZZZZ] _f_i_l_e ...
  14.       sb [-ddddffffkkkkttttuuuuvvvv] _f_i_l_e ...
  15.       sx [-kkkkttttuuuuvvvv] _f_i_l_e
  16.       zcommand [-oooottttvvvv] CCCCOOOOMMMMMMMMAAAANNNNDDDD
  17.       zcommandi [-oooottttvvvv] CCCCOOOOMMMMMMMMAAAANNNNDDDD
  18.       sz -T
  19.  
  20.  
  21.      LLLLIIIICCCCEEEENNNNSSSSEEEE AAAAGGGGRRRREEEEEEEEMMMMEEEENNNNTTTT
  22.       This is a copyrighted    shareware program.  Commercial use of
  23.       this program is subject to licensing conditions detailed in
  24.       the rz.c source code.     "Commercial Use" includes use of this
  25.       program to send files    to any commercial or shareware program
  26.       not published    by Omen    Technology INC.
  27.  
  28.       Registration information is provided in the file mailer.rz.
  29.  
  30.       Use of this program constitutes agreement to the License
  31.       Agreement.
  32.  
  33.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  34.       SSSSzzzz (send ZMODEM) uses    the ZMODEM, YMODEM or XMODEM error
  35.       correcting protocol to send one or more files    over a dial-in
  36.       serial port to a variety of programs running under PC-DOS,
  37.       CP/M,    Unix, VMS, and other operating systems.
  38.  
  39.       This program is not designed to be called from _c_u(_1) _t_i_p(_1),
  40.       or other communications programs.  Unix flavors of Omen
  41.       Technology's Professional-YAM    communications software    are
  42.       available for    dial-out applications.    Unix Professional-YAM
  43.       supports dial-out applications with telephone    directory, a
  44.       powerful script language with    learn function,    high quality
  45.       multiple protocol support, and UUCP port arbitration.
  46.  
  47.       SSSSzzzz sends one or more files with ZMODEM protocol.
  48.  
  49.       ZMODEM greatly simplifies file transfers compared to XMODEM.
  50.       In addition to a friendly user interface, ZMODEM provides
  51.       Personal Computer and    other users an efficient, accurate,
  52.       and robust file transfer method.
  53.  
  54.       ZMODEM provides complete EEEENNNNDDDD----TTTTOOOO----EEEENNNNDDDD data integrity between
  55.       application programs.     ZMODEM's 32 bit CRC catches errors
  56.       that sneak into even the most    advanced networks.
  57.  
  58.       Advanced file    management features include AutoDownload
  59.       (Automatic file Download initiated without user
  60.  
  61.  
  62.  
  63.      Page 1                          (printed 5/2/93)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      SSSSZZZZ((((1111))))        OOOOmmmmeeeennnn TTTTeeeecccchhhhnnnnoooollllooooggggyyyy    IIIINNNNCCCC ((((OOOOMMMMEEEENNNN))))         SSSSZZZZ((((1111))))
  71.  
  72.  
  73.  
  74.       intervention), Display of individual and total file lengths
  75.       and transmission time    estimates, Crash Recovery, selective
  76.       file transfers, and preservation of exact file date and
  77.       length.
  78.  
  79.       The ----yyyy option    instructs the receiver to open the file    for
  80.       writing unconditionally.  The    ----aaaa option causes the receiver
  81.       to convert Unix newlines to PC-DOS carriage returns and
  82.       linefeeds.
  83.  
  84.  
  85.       SSSSbbbb sends one or more files with YMODEM or ZMODEM protocol.
  86.       The initial ZMODEM initialization is not sent.  When
  87.       requested by the receiver, ssssbbbb    supports YYYYMMMMOOOODDDDEEEEMMMM----gggg with
  88.       "cbreak" tty mode, XON/XOFF flow control, and    interrupt
  89.       character set    to CAN (^X).  YYYYMMMMOOOODDDDEEEEMMMM----gggg (Professional-YAM gggg
  90.       option) increases YMODEM throughput over error free channels
  91.       (direct connection, X.PC, etc.) by disabling error recovery.
  92.  
  93.       On Unix systems, additional information about    the file is
  94.       transmitted.    If the receiving program uses this
  95.       information, the transmitted file length controls the    exact
  96.       number of bytes written to the output    dataset, and the
  97.       modify time and file mode are    set accordingly.
  98.  
  99.  
  100.       SSSSxxxx sends a single _f_i_l_e with XXXXMMMMOOOODDDDEEEEMMMM or    XXXXMMMMOOOODDDDEEEEMMMM----1111kkkk protocol
  101.       (sometimes incorrectly called    "ymodem").  The    user must
  102.       supply the file name to both sending and receiving programs.
  103.  
  104.       Iff sssszzzz is invoked with $SHELL    set and    iff that variable
  105.       contains the string _r_s_h or _r_k_s_h (restricted shell), sssszzzz
  106.       operates in restricted mode.    Restricted mode    restricts
  107.       pathnames to the current directory and PUBDIR    (usually
  108.       /usr/spool/uucppublic) and/or    subdirectories thereof.
  109.  
  110.  
  111.       The fourth form sends    a single COMMAND to a ZMODEM receiver
  112.       for execution.  ZZZZccccoooommmmmmmmaaaannnndddd exits with the COMMAND return
  113.       value.  If COMMAND includes spaces or    characters special to
  114.       the shell, it    must be    quoted.
  115.  
  116.  
  117.       The fifth form sends a single    COMMAND    to a ZMODEM receiver
  118.       for execution.  ZZZZccccoooommmmmmmmaaaannnnddddiiii exits as soon as the receiver has
  119.       correctly received the command, before it is executed.
  120.  
  121.  
  122.       The sixth form (sz -T) outputs all 256 code combinations to
  123.       the terminal.     The hex value of the character, a space, and
  124.       the raw character are    sent, 8    per line.  In you are having
  125.       difficulty sending files, this command lets you see which
  126.  
  127.  
  128.  
  129.      Page 2                          (printed 5/2/93)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      SSSSZZZZ((((1111))))        OOOOmmmmeeeennnn TTTTeeeecccchhhhnnnnoooollllooooggggyyyy    IIIINNNNCCCC ((((OOOOMMMMEEEENNNN))))         SSSSZZZZ((((1111))))
  137.  
  138.  
  139.  
  140.       character codes are being eaten by the operating system or
  141.       network.  The    terminal program must be set to    display    all
  142.       256 codes in a distinct form.     Check that each code is sent,
  143.       and that the 8th bit on codes    0x80 to    0xFF is    set.
  144.  
  145.       Sz -T    then allows the    caller to input    characters which are
  146.       echoed in hex.  You should check that    all control characters
  147.       can be input this way.
  148.  
  149.  
  150.  
  151.       The meanings of the available    options    are:
  152.  
  153.       2222    Use two stop bits instead of one.  This option is
  154.            available on some Unix systems.    This slows
  155.            transmission slightly and may be    helpful    in preventing
  156.            flow control problems in    some applications.
  157.       ++++    Instruct    the receiver to    append transmitted data    to an
  158.            existing    file (ZMODEM only).
  159.       aaaa    Instruct    the ZMODEM receiver to convert text file
  160.            format as appropriate for the receiving system.    Valid
  161.            only for    ZMODEM.
  162.       bbbb    (ZMODEM)    Binary override: transfer file without any
  163.            translation.
  164.       cccc    Instruct    the receiver to    change the pathname if the
  165.            destination file    exists.
  166.       dddd    Change all instances of "." to "/" in the transmitted
  167.            pathname.  Thus,    C.omenB0000 (which is unacceptable to
  168.            MSDOS or    CP/M) is transmitted as    C/omenB0000.  If the
  169.            resultant filename has more than    8 characters in    the
  170.            stem, a "." is inserted to allow    a total    of eleven.
  171.       eeee    Escape all control characters; normally only XON, XOFF,
  172.            DLE, CR-@-CR, and Ctrl-X    are escaped.
  173.       ffff    Send Full pathname.  Normally directory prefixes    are
  174.            stripped    from the transmitted filename.
  175.       kkkk    (XMODEM/YMODEM) Send files using    1024 byte blocks
  176.            rather than the default 128 byte    blocks.     1024 byte
  177.            packets speed file transfers at high bit    rates.
  178.            (ZMODEM streams the data    for the    best possible
  179.            throughput.)
  180.       LLLL NNNN  Use ZMODEM sub-packets of length    N.  A larger N (32 <=
  181.            N <= 1024) gives    slightly higher    throughput, a smaller
  182.            N speeds    error recovery.     The default is    128 below 300
  183.            baud, 256 above 300 baud, or 1024 above 2400 baud.
  184.       llll NNNN  Wait for    the receiver to    acknowledge correct data every
  185.            NNNN (32 <=    N <= 1024) characters.    This may be used to
  186.            avoid network overrun when XOFF flow control is
  187.            lacking.
  188.       nnnn    (ZMODEM)    Send each file if destination file does    not
  189.            exist.  Overwrite destination file if source file is
  190.            newer than the destination file.
  191.       NNNN    (ZMODEM)    Send each file if destination file does    not
  192.  
  193.  
  194.  
  195.      Page 3                          (printed 5/2/93)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      SSSSZZZZ((((1111))))        OOOOmmmmeeeennnn TTTTeeeecccchhhhnnnnoooollllooooggggyyyy    IIIINNNNCCCC ((((OOOOMMMMEEEENNNN))))         SSSSZZZZ((((1111))))
  203.  
  204.  
  205.  
  206.            exist.  Overwrite destination file if source file is
  207.            newer or    longer than the    destination file.
  208.       oooo    (ZMODEM)    Disable    automatic selection of 32 bit CRC.
  209.       pppp    (ZMODEM)    Protect    existing destination files by skipping
  210.            transfer    if the destination file    exists.
  211.       rrrr    (ZMODEM)    Resume interrupted file    transfer.  If the
  212.            source file is longer than the destination file,    the
  213.            transfer    commences at the offset    in the source file
  214.            that equals the length of the destination file.
  215.       rrrrrrrr   As above, but compares the files    (the portion common to
  216.            sender and reciever) before resuming the    transfer.
  217.       tttt ttttiiiimmmm
  218.            Change timeout to _t_i_m tenths of seconds.
  219.       uuuu    Unlink the file after successful    transmission.
  220.       wwww NNNN  Limit the transmit window size to N bytes (ZMODEM).
  221.       vvvv    Verbose causes a    list of    file names to be appended to
  222.            /tmp/szlog .  More v's generate more output.
  223.       yyyy    Instruct    a ZMODEM receiving program to overwrite    any
  224.            existing    file with the same name.
  225.       YYYY    Instruct    a ZMODEM receiving program to overwrite    any
  226.            existing    file with the same name, and to    skip any
  227.            source files that do have a file    with the same pathname
  228.            on the destination system.
  229.       ZZZZ    Use ZMODEM file compression to speed file transfer.
  230.  
  231.      DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  232.       Exit status is as follows: 0 for successful transfers.  1 if
  233.       unrecoverable    errors are detected.  2    if syntax errors or
  234.       file access problems are detected.  3    if the program was
  235.       terminated by    a caught interrupt.
  236.  
  237.      EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
  238.       ZZZZMMMMOOOODDDDEEEEMMMM FFFFiiiilllleeee TTTTrrrraaaannnnssssffffeeeerrrr (Unix to    DSZ/ZCOMM/Professional-YAM)
  239.       %%%% sssszzzz ----aaaa ****....cccc
  240.       This single command transfers    all .c files in    the current
  241.       Unix directory with conversion (----aaaa) to end of    line
  242.       conventions appropriate to the receiving environment.     With
  243.       ZMODEM AutoDownload enabled, Professional-YAM     and ZCOMM
  244.       will automatically recieve the files after performing    a
  245.       security check.
  246.  
  247.       %%%% sssszzzz ----YYYYaaaannnn ****....cccc    ****....hhhh
  248.       Send only the    .c and .h files    that exist on both systems,
  249.       and are newer    on the sending system than the corresponding
  250.       version on the receiving system, converting Unix to DOS text
  251.       format.
  252.  
  253.       ZZZZMMMMOOOODDDDEEEEMMMM CCCCoooommmmmmmmaaaannnndddd DDDDoooowwwwnnnnllllooooaaaadddd (Unix    to Professional-YAM)
  254.        cpszall:all
  255.           zcommand "c:;cd /yam/dist"
  256.           sz -ya $(YD)/*.me
  257.           sz -yb y*.exe
  258.  
  259.  
  260.  
  261.      Page 4                          (printed 5/2/93)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      SSSSZZZZ((((1111))))        OOOOmmmmeeeennnn TTTTeeeecccchhhhnnnnoooollllooooggggyyyy    IIIINNNNCCCC ((((OOOOMMMMEEEENNNN))))         SSSSZZZZ((((1111))))
  269.  
  270.  
  271.  
  272.           zcommand "cd /yam"
  273.           zcommandi    "!insms"
  274.       This Makefile    fragment uses zzzzccccoooommmmmmmmaaaannnndddd to issue    commands to
  275.       Professional-YAM to change current disk and directory.
  276.       Next,    sssszzzz transfers the ._m_e files from    the $YD    directory,
  277.       commanding the receiver to overwrite the old files and to
  278.       convert from Unix end    of line    conventions to PC-DOS
  279.       conventions.    The third line transfers some ._e_x_e files.  The
  280.       fourth and fifth lines command Pro-YAM to change directory
  281.       and execute a    PC-DOS batch file _i_n_s_m_s    . Since    the batch file
  282.       takes    considerable time, the zzzzccccoooommmmmmmmaaaannnnddddiiii form is used to allow
  283.       the program to exit immediately.
  284.  
  285.       XXXXMMMMOOOODDDDEEEEMMMM FFFFiiiilllleeee TTTTrrrraaaannnnssssffffeeeerrrr (Unix to    Crosstalk)
  286.       % ssssxxxx ffffoooooooo....cccc
  287.       EEEESSSSCCCC
  288.       rrrrxxxx ffffoooooooo....cccc
  289.       The above three commands transfer a single file from Unix to
  290.       a PC and Crosstalk.  This combination    is much    slower and
  291.       less reliable    than ZMODEM.
  292.  
  293.      EEEERRRRRRRROOOORRRR MMMMEEEESSSSSSSSAAAAGGGGEEEESSSS
  294.       "Caught signal 99" indicates the program was not properly
  295.       compiled, refer to "bibi(99)"    in rbsb.c for details.
  296.  
  297.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  298.       rz(omen), ZMODEM.DOC,    YMODEM.DOC, Professional-YAM,
  299.       crc(omen), sq(omen), todos(omen), tocpm(omen), tomac(omen),
  300.       yam(omen)
  301.  
  302.       Compile time options required    for various operating systems
  303.       are described    in the source file.
  304.  
  305.      FFFFIIIILLLLEEEESSSS
  306.       32 bit CRC code courtesy Gary    S. Brown.
  307.  
  308.       sz.c,    crctab.c, rbsb.c, zm.c,    zmr.c, zmodem.h    Unix source
  309.       files
  310.  
  311.       /tmp/szlog stores debugging output (sz -vv)
  312.  
  313.      TTTTEEEESSSSTTTTIIIINNNNGGGG FFFFEEEEAAAATTTTUUUURRRREEEE
  314.       The command "sz -T file" exercises the AAAAttttttttnnnn sequence error
  315.       recovery by commanding errors    with unterminated packets.
  316.       The receiving    program    should complain    five times about
  317.       binary data packets being too    long.  Each time sssszzzz is
  318.       interrupted, it should send a    ZDATA header followed by
  319.       another defective packet.  If    the receiver does not detect
  320.       five long data packets, the AAAAttttttttnnnn sequence is not
  321.       interrupting the sender, and the MMMMyyyyaaaattttttttnnnn string in sssszzzz....cccc must
  322.       be modified.
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                          (printed 5/2/93)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      SSSSZZZZ((((1111))))        OOOOmmmmeeeennnn TTTTeeeecccchhhhnnnnoooollllooooggggyyyy    IIIINNNNCCCC ((((OOOOMMMMEEEENNNN))))         SSSSZZZZ((((1111))))
  335.  
  336.  
  337.  
  338.       After    5 packets, sssszzzz stops the    "transfer" and prints the
  339.       total    number of characters "sent" (Tcount).  The difference
  340.       between Tcount and 5120 represents the number    of characters
  341.       stored in various buffers when the Attn sequence is
  342.       generated.
  343.  
  344.      NNNNOOOOTTTTEEEESSSS
  345.       We have received numerous reports of terminal    servers
  346.       interfering with protocol file transfers.  Sometimes special
  347.       terminal server commands correct the problem.     Some typical
  348.       commands are "terminal download" and "terminal no esc", but
  349.       there    is no standard set of commands suitable    for all
  350.       terminal servers.  Sometimes the terminal server software is
  351.       defective and    must be    upgraded.
  352.  
  353.       Escaping all control characters (-e option) option sometimes
  354.       helps    get past brain damaged terminal    servers.  Restricting
  355.       the window size (-l or -w option) sometimes helps.  These
  356.       hacks    slow transfers,    better to fix the terminal server.
  357.  
  358.       Particular attention must be paid to flow control.  The
  359.       modem    and Unix must agree on the flow    control    method.     Sz on
  360.       USG (SYS III/V) systems use XON/XOFF flow control.  Some
  361.       terminal servers do not provide working flow control.     If
  362.       flow control cannot be properly set up, Try a    "-w 1024"
  363.       option (given    to the sending program)    to enforce protocol
  364.       level    flow control.  Experiment with different window    sizes
  365.       for best results.
  366.  
  367.       Telebit modems must not be set to "spoof" UUCP, XMODEM,
  368.       YMODEM, or KERMIT.  Setting one of these spoofing modes
  369.       interferes with other    protoocls.  Telebit's YMODEM spoofing
  370.       interferes with YMODEM transfers.
  371.  
  372.       If a program that does not properly implement    the specified
  373.       file transfer    protocol causes    _s_b to "hang" the port after a
  374.       failed transfer, either wait for _s_b to time out or keyboard
  375.       a dozen Ctrl-X characters.  Every reported instance of this
  376.       problem has been corrected by    using ZCOMM, Pro-YAM, DSZ, or
  377.       other    program    with a correct implementation of the specified
  378.       protocol.
  379.  
  380.       Many programs    claiming to support YMODEM only    support    XMODEM
  381.       with 1k blocks, and they often don't get that    quite right.
  382.       XMODEM transfers add up to 127 garbage bytes per file.
  383.       XMODEM-1k and    YMODEM-1k transfers use    128 byte blocks    to
  384.       avoid    extra padding.
  385.  
  386.       YMODEM programs use the file length transmitted at the
  387.       beginning of the transfer to prune the file to the correct
  388.       length; this may cause problems with source files that grow
  389.       during the course of the transfer.  This problem does    not
  390.  
  391.  
  392.  
  393.      Page 6                          (printed 5/2/93)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      SSSSZZZZ((((1111))))        OOOOmmmmeeeennnn TTTTeeeecccchhhhnnnnoooollllooooggggyyyy    IIIINNNNCCCC ((((OOOOMMMMEEEENNNN))))         SSSSZZZZ((((1111))))
  401.  
  402.  
  403.  
  404.       pertain to ZMODEM transfers, which preserve the exact    file
  405.       length unconditionally.
  406.  
  407.       Most ZMODEM options are merely passed    to the receiving
  408.       program; some    programs do not    implement all of these
  409.       options.
  410.  
  411.       Circular buffering and a ZMODEM sliding window should    be
  412.       used when input is from pipes    instead    of acknowledging
  413.       frames each 1024 bytes.  If no files can be opened, sssszzzz sends
  414.       a ZMODEM command to echo a suitable complaint; perhaps it
  415.       should check for the presence    of at least one    accessible
  416.       file before getting hot and bothered.
  417.  
  418.      BBBBUUUUGGGGSSSS
  419.       On at    least one BSD system, sz would abend it    got within a
  420.       few kilobytes    of the end of file.  Using the "-w 8192" flag
  421.       fixed    the problem.  The real cause is    unknown, perhaps a bug
  422.       in the kernel    TTY output routines.
  423.  
  424.       The test mode    leaves a zero length file on the receiving
  425.       system.
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                          (printed 5/2/93)
  460.  
  461.  
  462.  
  463.